/*
  Copyright (c), 2001-2022, Shenshu Tech. Co., Ltd.
 */

#ifndef HI_COMMON_DPU_MATCH_H
#define HI_COMMON_DPU_MATCH_H

#include "hi_common.h"
#include "hi_common_video.h"
#include "hi_debug.h"
#include "hi_errno.h"
#include "ot_common_dpu_match.h"

#ifdef __cplusplus
extern "C"
{
#endif

#define HI_DPU_MATCH_LEFT_PIPE OT_DPU_MATCH_LEFT_PIPE
#define HI_DPU_MATCH_RIGHT_PIPE OT_DPU_MATCH_RIGHT_PIPE
    typedef ot_dpu_match_grp hi_dpu_match_grp;
    typedef ot_dpu_match_pipe hi_dpu_match_pipe;
    typedef ot_dpu_match_chn hi_dpu_match_chn;
#define HI_ERR_DPU_MATCH_SYS_TIMEOUT OT_ERR_DPU_MATCH_SYS_TIMEOUT
#define HI_ERR_DPU_MATCH_OPEN_FILE OT_ERR_DPU_MATCH_OPEN_FILE
#define HI_ERR_DPU_MATCH_READ_FILE OT_ERR_DPU_MATCH_READ_FILE
#define HI_ERR_DPU_MATCH_WRITE_FILE OT_ERR_DPU_MATCH_WRITE_FILE
#define HI_ERR_DPU_MATCH_BUTT OT_ERR_DPU_MATCH_BUTT
    typedef ot_dpu_match_err_code hi_dpu_match_err_code;
#define HI_ERR_DPU_MATCH_NULL_PTR OT_ERR_DPU_MATCH_NULL_PTR
#define HI_ERR_DPU_MATCH_NOT_READY OT_ERR_DPU_MATCH_NOT_READY
#define HI_ERR_DPU_MATCH_INVALID_DEV_ID OT_ERR_DPU_MATCH_INVALID_DEV_ID
#define HI_ERR_DPU_MATCH_INVALID_CHN_ID OT_ERR_DPU_MATCH_INVALID_CHN_ID
#define HI_ERR_DPU_MATCH_INVALID_GRP_ID OT_ERR_DPU_MATCH_INVALID_GRP_ID
#define HI_ERR_DPU_MATCH_EXIST OT_ERR_DPU_MATCH_EXIST
#define HI_ERR_DPU_MATCH_UNEXIST OT_ERR_DPU_MATCH_UNEXIST
#define HI_ERR_DPU_MATCH_NOT_SUPPORT OT_ERR_DPU_MATCH_NOT_SUPPORT
#define HI_ERR_DPU_MATCH_NOT_PERM OT_ERR_DPU_MATCH_NOT_PERM
#define HI_ERR_DPU_MATCH_NO_MEM OT_ERR_DPU_MATCH_NO_MEM
#define HI_ERR_DPU_MATCH_NO_BUF OT_ERR_DPU_MATCH_NO_BUF
#define HI_ERR_DPU_MATCH_ILLEGAL_PARAM OT_ERR_DPU_MATCH_ILLEGAL_PARAM
#define HI_ERR_DPU_MATCH_BUSY OT_ERR_DPU_MATCH_BUSY
#define HI_ERR_DPU_MATCH_BUF_EMPTY OT_ERR_DPU_MATCH_BUF_EMPTY
#define HI_ERR_DPU_MATCH_BUF_FULL OT_ERR_DPU_MATCH_BUF_FULL
#define HI_ERR_DPU_MATCH_SYS_TIMEOUT OT_ERR_DPU_MATCH_SYS_TIMEOUT
#define HI_ERR_DPU_MATCH_OPEN_FILE OT_ERR_DPU_MATCH_OPEN_FILE
#define HI_ERR_DPU_MATCH_READ_FILE OT_ERR_DPU_MATCH_READ_FILE
#define HI_ERR_DPU_MATCH_WRITE_FILE OT_ERR_DPU_MATCH_WRITE_FILE
    typedef ot_dpu_match_mem_info hi_dpu_match_mem_info;
    typedef ot_dpu_match_src_frame_info hi_dpu_match_src_frame_info;
    typedef ot_dpu_match_dst_frame_info hi_dpu_match_dst_frame_info;
#define HI_DPU_MATCH_MASK_DEFAULT_MODE OT_DPU_MATCH_MASK_DEFAULT_MODE
#define HI_DPU_MATCH_MASK_1X1_MODE OT_DPU_MATCH_MASK_1X1_MODE
#define HI_DPU_MATCH_MASK_3X3_MODE OT_DPU_MATCH_MASK_3X3_MODE
#define HI_DPU_MATCH_MASK_5X5_MODE OT_DPU_MATCH_MASK_5X5_MODE
#define HI_DPU_MATCH_MASK_7X7_MODE OT_DPU_MATCH_MASK_7X7_MODE
#define HI_DPU_MATCH_MASK_9X9_MODE OT_DPU_MATCH_MASK_9X9_MODE
#define HI_DPU_MATCH_MASK_11X11_MODE OT_DPU_MATCH_MASK_11X11_MODE
#define HI_DPU_MATCH_MASK_13X13_MODE OT_DPU_MATCH_MASK_13X13_MODE
#define HI_DPU_MATCH_MASK_15X15_MODE OT_DPU_MATCH_MASK_15X15_MODE
#define HI_DPU_MATCH_MASK_17X17_MODE OT_DPU_MATCH_MASK_17X17_MODE
#define HI_DPU_MATCH_MASK_MODE_BUTT OT_DPU_MATCH_MASK_MODE_BUTT
    typedef ot_dpu_match_mask_mode hi_dpu_match_mask_mode;
#define HI_DPU_MATCH_SPEED_ACCURACY_MODE_SPEED OT_DPU_MATCH_SPEED_ACCURACY_MODE_SPEED
#define HI_DPU_MATCH_SPEED_ACCURACY_MODE_ACCURACY OT_DPU_MATCH_SPEED_ACCURACY_MODE_ACCURACY
#define HI_DPU_MATCH_SPEED_ACCURACY_MODE_BUTT OT_DPU_MATCH_SPEED_ACCURACY_MODE_BUTT
    typedef ot_dpu_match_speed_accuracy_mode hi_dpu_match_speed_accuracy_mode;
#define HI_DPU_MATCH_DISP_FROM_MATCH OT_DPU_MATCH_DISP_FROM_MATCH
#define HI_DPU_MATCH_DISP_FROM_USER OT_DPU_MATCH_DISP_FROM_USER
#define HI_DPU_MATCH_DISP_FROM_BUTT OT_DPU_MATCH_DISP_FROM_BUTT
    typedef ot_dpu_match_disp_from hi_dpu_match_disp_from;
#define HI_DPU_MATCH_BG_MODE_NONE OT_DPU_MATCH_BG_MODE_NONE
#define HI_DPU_MATCH_BG_MODE_LOW_LIGHT OT_DPU_MATCH_BG_MODE_LOW_LIGHT
#define HI_DPU_MATCH_BG_MODE_NORMAL_LIGHT OT_DPU_MATCH_BG_MODE_NORMAL_LIGHT
#define HI_DPU_MATCH_BG_MODE_HIGH_LIGHT OT_DPU_MATCH_BG_MODE_HIGH_LIGHT
#define HI_DPU_MATCH_BG_MODE_BUTT OT_DPU_MATCH_BG_MODE_BUTT
    typedef ot_dpu_match_bg_mode hi_dpu_match_bg_mode;
#define HI_DPU_MATCH_OPTI_MODE_DEFAULT OT_DPU_MATCH_OPTI_MODE_DEFAULT
#define HI_DPU_MATCH_OPTI_MODE_ADAPTIVE OT_DPU_MATCH_OPTI_MODE_ADAPTIVE
#define HI_DPU_MATCH_OPTI_MODE_BUTT OT_DPU_MATCH_OPTI_MODE_BUTT
    typedef ot_dpu_match_opti_mode hi_dpu_match_opti_mode;
#define HI_DPU_MATCH_DISP_VERSION_V1 OT_DPU_MATCH_DISP_VERSION_V1
#define HI_DPU_MATCH_DISP_VERSION_BUTT OT_DPU_MATCH_DISP_VERSION_BUTT
    typedef ot_dpu_match_disp_version hi_dpu_match_disp_version;
#define HI_DPU_MATCH_DEPTH_VERSION_V1 OT_DPU_MATCH_DEPTH_VERSION_V1
#define HI_DPU_MATCH_DEPTH_VERSION_BUTT OT_DPU_MATCH_DEPTH_VERSION_BUTT
    typedef ot_dpu_match_depth_version hi_dpu_match_depth_version;
    typedef ot_dpu_match_disp_param_v1 hi_dpu_match_disp_param_v1;
    typedef ot_dpu_match_disp_param hi_dpu_match_disp_param;
    typedef ot_dpu_match_depth_param_v1 hi_dpu_match_depth_param_v1;
    typedef ot_dpu_match_depth_param hi_dpu_match_depth_param;
    typedef ot_dpu_match_grp_attr hi_dpu_match_grp_attr;
    typedef ot_dpu_match_chn_attr hi_dpu_match_chn_attr;

#ifdef __cplusplus
}
#endif
#endif /* HI_COMMON_DPU_MATCH_H */
